CSharpTest.Net
Add(T,Int32) Method
See Also  Example Send Feedback Download Help File
CSharpTest.Net.Library Assembly > CSharpTest.Net.Collections Namespace > SetList<T> Class > Add Method : Add(T,Int32) Method

item
index

Glossary Item Box

Returns a new collection adding the item provided

Syntax

Visual Basic (Declaration) 
Public Overloads Sub Add( _
   ByVal item As T, _
   ByRef index As Integer _
) 
C# 
public void Add( 
   T item,
   out int index
)

Parameters

item
index

Example

Library/Library.Test/TestSetList.cs

C#Copy Code
SetList<int> list = new SetList<int>();
Assert.IsFalse(list.IsReadOnly);

for (int i = 512; i >= 0; i--)
    list.Add(i);

int offset = 0;
foreach (int item in list)
    Assert.AreEqual(offset++, item);

Assert.AreEqual(513, offset);
Assert.AreEqual(513, list.Count);

list.Clear();
list.AddRange(new int[] { 5, 10, 20 });
list.AddRange(new int[] { });

Assert.AreEqual(3, list.Count);

Assert.IsTrue(list.Contains(20));
Assert.IsTrue(list.Remove(20));

Assert.IsFalse(list.Contains(20));
Assert.IsFalse(list.Remove(20));

Assert.AreEqual(2, list.Count);

int pos;
list.Add(10, out pos);
Assert.AreEqual(1, pos);
Assert.AreEqual(2, list.Count);
            
int[] items = new int[2];
list.CopyTo(items, 0);
Assert.AreEqual(5, items[0]);
Assert.AreEqual(10, items[1]);

items = list.ToArray();
Assert.AreEqual(5, items[0]);
Assert.AreEqual(10, items[1]);

List<int> tmp = new List<int>();
foreach (int i in list)
    tmp.Add(i);
Assert.AreEqual(2, tmp.Count);
Assert.AreEqual(5, tmp[0]);
Assert.AreEqual(10, tmp[1]);
VB.NETCopy Code
Dim list As New SetList(Of Integer)()
Assert.IsFalse(list.IsReadOnly)

Dim i As Integer = 512
While i >= 0
    list.Add(i)
    System.Math.Max(System.Threading.Interlocked.Decrement(i),i + 1)
End While

Dim offset As Integer = 0
For Each item As Integer In list
    Assert.AreEqual(System.Math.Max(System.Threading.Interlocked.Increment(offset),offset - 1), item)
Next

Assert.AreEqual(513, offset)
Assert.AreEqual(513, list.Count)

list.Clear()
list.AddRange(New Integer() {5, 10, 20})
list.AddRange(New Integer() {})

Assert.AreEqual(3, list.Count)

Assert.IsTrue(list.Contains(20))
Assert.IsTrue(list.Remove(20))

Assert.IsFalse(list.Contains(20))
Assert.IsFalse(list.Remove(20))

Assert.AreEqual(2, list.Count)

Dim pos As Integer
list.Add(10, pos)
Assert.AreEqual(1, pos)
Assert.AreEqual(2, list.Count)

Dim items As Integer() = New Integer(2) {}
list.CopyTo(items, 0)
Assert.AreEqual(5, items(0))
Assert.AreEqual(10, items(1))

items = list.ToArray()
Assert.AreEqual(5, items(0))
Assert.AreEqual(10, items(1))

Dim tmp As New List(Of Integer)()
For Each i As Integer In list
    tmp.Add(i)
Next
Assert.AreEqual(2, tmp.Count)
Assert.AreEqual(5, tmp(0))
Assert.AreEqual(10, tmp(1))

Requirements

Target Platforms: Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, Windows 7

See Also

Generated with Document! X 2011 by Innovasys